/**
 * router.js路由模块
 * 划分模块的目的就是为了增强代码的可维护性
 * @get req.query
 * @post req.body
 */

var Student = require('./student_mongo')
var express = require('express')
var sever = express()

// 常规写法
// 列表
sever.get('/api/list', function (req, res) {
    res.setHeader("Access-Control-Allow-Origin", "*");
    res.setHeader("Cache-Control", "no-cache");
    Student.find(function (err, students) {
        if (err) {
            console.log('读取文件失败了')
            return res.status(500).send('Server error')
        } else {
            res.end(JSON.stringify(students))
        }
    })
})

// 新增
sever.post('/api/postURL', function (req, res) {
    console.log('req.body==', req.body)
    new Student(req.body).save(function (err) {
        if (err) {
            console.log('读取文件失败了', 'err===', err)
            return res.status(500).send('Server error')
        } else {
            res.end()
        }
    })
})

// 删除
sever.post('/api/delete', function (req, res) {
    var id = req.body._id
    Student.findByIdAndRemove(id, function (err) {
        if (err) {
            return res.status(500).send('Server error')
        } else {
            res.end()
        }
    })
})

// 确认修改
sever.post('/api/update', function (req, res) {
    console.log('修改的_id值为===', req.body._id)
    var id = req.body._id
    Student.findByIdAndUpdate(id, req.body, function (err) {
        if (err) {
            console.log('修改文件失败了')
            return res.status(500).send('Server error')
        } else {
            res.end()
        }
    })
})

// 查找
sever.get('/api/check', function (req, res) {
    const { name } = req.query
    const params = { name }
    Student.find(name ? params : null , function (err, docs) {
        if (err) {
            console.log('fail to deal')
            return res.status(500).send('Server error')
        }
        res.end(JSON.stringify(docs))
    })
})

module.exports = sever


